package com.cj.wisdom_display.utils

import com.cj.wisdom_display.utils.LogUtil
import com.lztek.toolkit.Lztek
import java.util.*

/**
 * ━━━━━━神兽出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛Code is far away from bug with the animal protecting
 * 　　　　┃　　　┃    神兽保佑,代码无bug
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━感觉萌萌哒━━━━━━
 *
 * Created by yi on 2020/10/29.
 */
class GpioObservable(var lztek: Lztek) : Observable() {

    private var value = 0

    fun setValue() {
        if (onBtEnbale(lztek)) {
            this.value = lztek.getGpioValue(70)
            setChanged()
            notifyObservers()
        }
    }

    fun getValue(): Int {
        return value
    }

    private fun onBtEnbale(lztek: Lztek): Boolean {
        if (!lztek.gpioEnable(70)) {
            LogUtil.e("GPIO[70] enable failed")
            return false
        }
        lztek.setGpioInputMode(70)
        return true
    }

}